What are the main uses of the Stream API in Java 8